package com.hsyt.pms.orm.sys;

import com.hsyt.pms.api.dto.org.OrgDto;
import com.hsyt.pms.api.dto.system.SysRoleDto;
import com.hsyt.pms.api.vo.system.SysRoleVo;
import com.hsyt.pms.api.vo.system.TreeNode;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @ClassName: SysRoleDao
 * @Description: 角色服务Dao
 * @author wangze@hsyuntai.com
 * @date 2019年2月12日 下午2:45:51
 */
@Repository
public interface SysRoleDao {

    int insert(SysRoleDto record);

    int updateByPrimaryKeySelective(SysRoleDto record);

    int insertRoleMenu(SysRoleDto dto);

    int deleteByRoleAndFun(SysRoleDto dto);

    int countRole(SysRoleDto po);

    int insertRoleSource(SysRoleDto dto);

    int deleteRoleSource(SysRoleDto dto);

    List<SysRoleVo> queryRoleByDto(SysRoleDto dto);

    List<SysRoleVo> searchRoleByOrg(@Param(value = "orgId") Long orgId);

    List<TreeNode> getOrgTreeById(@Param(value = "userId") Long userId, @Param(value = "roleId") Long roleId, @Param(value = "orgDto") OrgDto orgDto);

}
